#!/bin/bash
#-- NSPROJ MAKEFILE
#-------------------------

include $(arch)

all: serial openmp mpi
serial: common nsproj
openmp: common nsproj_mpp
mpi:common nsproj_dpp
common: 
	@echo "...BUILDING NSPROJ COMMON FILES"
	$(CC) -c $(CC_OPTS) $(INC) -o ./src/nsdata.o ./src/nsdata.c
	$(CC) -c $(CC_OPTS) $(INC) -o ./src/nssolver.o ./src/nssolver.c
	@echo "...DONE"
nsproj:
	@echo "...BUILDING NSPROJ"
	$(CC) -c $(CC_OPTS) $(INC) -o ./src/nsproj.o ./src/nsproj.c
	$(CC) $(CC_OPTS) $(INC) -o nsproj ./src/nsproj.o ./src/nsdata.o ./src/nssolver.o $(LINK)
	@echo "...DONE"
nsproj_mpp:
	@echo "...BUILDING NSPROJ_MPP"
	$(CC) -c $(CC_OPTS) $(MPP_OPTS) $(INC) -o ./src/nssolver_mpp.o ./src/nssolver.c
	$(CC) -c $(CC_OPTS) $(MPP_OPTS) $(INC) -o ./src/nsproj_mpp.o ./src/nsproj.c
	$(CC) $(CC_OPTS) $(MPP_OPTS) $(INC) -o ./nsproj_mpp ./src/nsproj_mpp.o ./src/nsdata.o ./src/nssolver_mpp.o $(LINK)
	@echo "...DONE"
nsproj_dpp:
	@echo "...BUILDING NSPROJ_DPP"
	$(MCC) -c $(MCC_OPTS) $(DPP_OPTS) $(INC) -o ./src/nsmpi.o ./src/nsmpi.c
	$(MCC) -c $(CC_OPTS) $(DPP_OPTS) $(INC) -o ./src/nsproj_dpp.o ./src/nsproj_dpp.c
	$(MCC) $(CC_OPTS) $(DPP_OPTS) $(INC) -o ./nsproj_dpp ./src/nsproj_dpp.o ./src/nsmpi.o ./src/nsdata.o ./src/nssolver.o $(MPP_LINK)
	@echo "...DONE"
clean:
	@echo "...CLEANING SOURCE"
	$(RM) ./*~ ./src/*.o ./src/*~ ./nsproj ./nsproj_mpp ./nsproj_dpp ./doc/*~
	@echo "...DONE"
